package main

import (
	"fmt"
	"log"
)

var v1 int
var v2 string
var v3 [10]int // 数组
var v4 []int   // 数组切片
var v5 struct{ f int }
var v6 *int           // 指针
var v7 map[string]int // map，
// key为string类型，value为int类型
var v8 func(a int) int
var (
	v9  int
	v10 string
)

func varInit() {
	var v1 int = 10 // 正确的使用方式1
	var v2 = 10     // 正确的使用方式
	// 2，编译器可以自动推导出v2的类型
	v3 := 10 // 正确的使用方式
	// 3，编译器可以自动推导出v3的类型
	fmt.Println("v1: %v v2:%d v3:%d", v1, v2, v3)
}

func test_string() {
	subsCodes := []string{"aaaa", "vvvvv", "dddd", "eeeee", "gfgggg"}
	for _, s := range subsCodes {
		fmt.Println(s)
	}
}
func main() {
	test_string()
	varInit()
	log.Printf("v1: %d", v1)
}
